//package com.turing.post.organization.impl;
//
//import java.math.BigInteger;
//import java.util.List;
//
//import javax.ejb.Local;
//import javax.ejb.Remote;
//import javax.ejb.Stateless;
//import javax.persistence.EntityManager;
//import javax.persistence.PersistenceContext;
//import javax.persistence.Query;
//
//import com.turing.post.organization.util.SaleCompany;
//import com.turing.post.organization.util.SaleCompanyDao;
//import com.turing.post.util.Config;
//import com.turing.post.util.GeneralDao;
//import com.turing.post.util.PCPSApplicationException;
//import com.turing.post.util.PCPSUtil;
//import com.turing.post.util.PCPSWebInput;
//
///**
// * @author zxp
// * @Dec 18, 2012
// */
//@Stateless(mappedName = "organization.impl.SaleCompanyDaoImpl")
//@Remote
//@Local
//public class SaleCompanyDaoImpl implements SaleCompanyDao {
//	/**
//	 * 实体管理器
//	 */
//	@PersistenceContext
//	protected EntityManager _em;
//
//	@SuppressWarnings("unchecked")
//	@Override
//	public SaleCompany getSaleCompanyBySaleCompanyName(String saleCompanyName) {
//		String jpql = "select * from SaleCompany c where c.SaleCompanyName =?1";
//		Query query = _em.createNativeQuery(jpql, SaleCompany.class);
//		query.setParameter(1, saleCompanyName);
//		List<SaleCompany> list = query.getResultList();
//		if (list == null || list.isEmpty() || list.size() < 1) {
//			return null;
//		}
//		return list.get(0);
//	}
//
//	/**
//	 * 根据发卡商编号查询所有的销售商
//	 * 
//	 * @param issueCompanyNo
//	 *            发卡商编号
//	 * @return List 销售商列表
//	 */
//	@SuppressWarnings("unchecked")
//	public List<SaleCompany> getAllSaleCompanyByIssueCompanyNo(
//			String issueCompanyNo) {
//		String jpql = "select * from SaleCompany c where c.IssueCompanyNo =?1";
//		Query query = _em.createNativeQuery(jpql, SaleCompany.class);
//		query.setParameter(1, issueCompanyNo);
//		return query.getResultList();
//	}
//
//	@Override
//	public SaleCompany getSaleCompanyBySaleCompanyNo(String saleCompanyNo) {
//		return _em.find(SaleCompany.class, saleCompanyNo);
//	}
//
//	@SuppressWarnings("unchecked")
//	@Override
//	public List<SaleCompany> getSaleCompanyList(PCPSWebInput webInput,
//			String saleCompanyNo, String saleCompanyName, String regionNo,
//			String status, Integer page) {
//		int maxResult = Config.PAGE_SIZE;
//		int startPosition = maxResult * page;
//		String sql = "select * from SaleCompany t where 1=1";
//		if (!PCPSUtil.isEmpty(webInput.getOperBranchNo())) {
//			String issueCompanyNo = PCPSUtil.getIssueCompanyNo(webInput);
//			sql = sql + " and t.IssueCompanyNo = '" + issueCompanyNo + "'";
//		}
//		if (!PCPSUtil.isEmpty(saleCompanyNo)) {
//			sql = sql + " and t.saleCompanyNo like '%" + saleCompanyNo + "%'";
//		}
//		if (!PCPSUtil.isEmpty(saleCompanyName)) {
//			sql = sql + " and t.SaleCompanyName like '%" + saleCompanyName
//					+ "%'";
//		}
//		if (!PCPSUtil.isEmpty(regionNo)) {
//			sql = sql + " and t.RegionNo = '" + regionNo + "'";
//		}
//		if (!PCPSUtil.isEmpty(status)) {
//			sql = sql + " and t.Status = '" + status + "'";
//		}
//		sql = sql + "order by Salecompanyno";
//		Query query = _em.createNativeQuery(sql, SaleCompany.class)
//				.setFirstResult(startPosition).setMaxResults(maxResult);
//		return query.getResultList();
//	}
//
//	@Override
//	public BigInteger getSaleCompanyTotal(PCPSWebInput webInput,
//			String SaleCompanyNo, String saleCompanyName, String regionNo,
//			String status) {
//		String sql = "select nvl(count(*),0) from SaleCompany t where 1=1";
//		if (!PCPSUtil.isEmpty(webInput.getOperBranchNo())) {
//			String issueCompanyNo = PCPSUtil.getIssueCompanyNo(webInput);
//			sql = sql + " and t.IssueCompanyNo = '" + issueCompanyNo + "'";
//		}
//		if (!PCPSUtil.isEmpty(SaleCompanyNo)) {
//			sql = sql + " and t.SaleCompanyNo like '%" + SaleCompanyNo + "%'";
//		}
//		if (!PCPSUtil.isEmpty(saleCompanyName)) {
//			sql = sql + " and t.SaleCompanyName like '%" + saleCompanyName
//					+ "%'";
//		}
//		if (!PCPSUtil.isEmpty(regionNo)) {
//			sql = sql + " and t.RegionNo = '" + regionNo + "'";
//		}
//		if (!PCPSUtil.isEmpty(status)) {
//			sql = sql + " and t.Status = '" + status + "'";
//		}
//		Query query = _em.createNativeQuery(sql);
//		return new BigInteger(query.getSingleResult().toString());
//	}
//
//	@Override
//	public void insertSaleCompany(SaleCompany saleCompany)
//			throws PCPSApplicationException {
//		GeneralDao.insert(_em, saleCompany);
//	}
//
//	@Override
//	public void updateSaleCompany(SaleCompany saleCompany)
//			throws PCPSApplicationException {
//		GeneralDao.update(_em, saleCompany);
//	}
//}
